home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / 8bit / cislib_b / vision.doc < prev    next >
Text File  |  1995-04-22  |  4KB  |  1 lines

  1. MACHINE VISION¢¢¢by Richard Q. Fox, copyright 1986¢¢¢Machine Vision is a branch of Artificial Intelligence which combines cameras, electronics, computers, and software to emulate the vision function of the human brain. The most common application of machine vision is in automobile factories, where it is used as "the eyes for robots". An industrial machine vision system can look at an object in a scene from a TV camera, and identify what it is looking at, where it is in the field of view, and how it is oriented. The machine vision system can then transmit that information to an industrial robot, which can then work on the identified object.¢¢This article describes a machine vision application that you can do with an Atari 8 bit computer and Computereyes. The program uses the Computereyes hardware and some artificial intelligence algorithms to count the value of loose change placed in front of the camera. ¢¢The program knows "apriori" the ratios of the diameters of pennies, nickles, dimes, and quarters. When you set up your camera, the program needs to be taught the size of a penny, so that it can adjust for the size of lens and the distance from the camera to the table. Once the program has been taught the size of a penny, it can identify the coins placed in the camera's field of view. It counts the number of each type of coin, and adds up their total value. The answer is displayed on the TV screen.¢¢LIGHTING AND OPTICS¢¢Set up the camera so that it is looking straight down onto the table, and is about 2 feet from the table surface. Place a desk lamp on the table, about 2 feet away from the camera. Put a white sheet of paper on the table, and put the coins on the white sheet of paper. Adjust the lighting, so that the coins appear dark on the bright sheet of paper. Four or five coins should fill the field of view.¢¢RUNNING THE PROGRAM¢¢Plug the Computereyes hardware into the joystick ports and boot the Computereyes disk. Computereyes requires 48K and Atari BASIC. Adjust the "sync" and "brightness" controls of Computereyes to get a good picture of dark coins on a white background. Stop the Computereyes program, and load and run the program VISION.BAS which is listed with this article. The main menu of VISION.BAS has the following commands:¢¢     Snap         snap a picture¢     Process      cleans up the picture¢     Teach        teach the size of a penny¢     Identify     count the change¢     View         look at the picture again¢     Count pixels count the white and black dots¢¢The next step is to teach the pennies. Place 3 pennies in the field of view, and position them so that they do not touch. "Snap", "Process", and "Teach" the 3 pennies.¢¢You are now ready to count change. Put some change in front of the camera. Arrange it so that no coins are touching, and all the coins are in the field of view. "Snap", "Process", and "Identify" the image. You will see the screen change as the software locates and identifies the coins. Finally, a new screen will appear, announcing the value of the money. "View" recalls the most recent image, and "Count" counts the white and black pixels (picture elements). Both of these functions are useful for extending the program beyond coin counting.¢¢PROGRAM DESIGN¢¢The Snap routine takes a picture in Graphics 8 mode, and uses page flipping techniques to save it in a separate area of RAM.¢¢The Process routine uses a 3 by 3 convolution as a low pass filter to eliminate stray pixels. This routine makes black areas blacker and white areas whiter.¢¢The Teach routine measures the vertical diameter of the 3 pennies, and averages the answers.¢¢The Identify routine measures the vertical diameter of each object in the field of view, and compares it with the expected diameter of pennies, nickles, dimes, and quarters.¢¢The routines in this program are useful for building your own machine vision programs. Have fun!¢¢